home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / SETUP / CBUILDER / DATA.Z / DBCTRLS.INT < prev    next >
Encoding:
Text File  |  1997-02-20  |  20.9 KB  |  745 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Delphi Visual Component Library                 }
  5. {                                                       }
  6. {       Copyright (c) 1995,96 Borland International     }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit DBCtrls;
  11.  
  12. {$R-}
  13.  
  14. interface
  15.  
  16. uses SysUtils, Windows, Messages, Classes, Controls, Forms,
  17.   Graphics, Menus, StdCtrls, ExtCtrls, DB, DBTables, Mask, Buttons;
  18.  
  19. type
  20.  
  21. { TPaintControl }
  22.  
  23.   TPaintControl = class
  24.   public
  25.     constructor Create(Owner: TWinControl; const ClassName: string);
  26.     destructor Destroy; override;
  27.     procedure DestroyHandle;
  28.     property Ctl3DButton: Boolean;
  29.     property Handle: HWnd;
  30.   end;
  31.  
  32. { TDBEdit }
  33.  
  34.   TDBEdit = class(TCustomMaskEdit)
  35.   protected
  36.     procedure Change; override;
  37.     function EditCanModify: Boolean; override;
  38.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  39.     procedure KeyPress(var Key: Char); override;
  40.     procedure Notification(AComponent: TComponent;
  41.       Operation: TOperation); override;
  42.     procedure Reset; override;
  43.   public
  44.     constructor Create(AOwner: TComponent); override;
  45.     destructor Destroy; override;
  46.     property Field: TField;
  47.   published
  48.     property AutoSelect;
  49.     property AutoSize;
  50.     property BorderStyle;
  51.     property CharCase;
  52.     property Color;
  53.     property Ctl3D;
  54.     property DataField: string;
  55.     property DataSource: TDataSource;
  56.     property DragCursor;
  57.     property DragMode;
  58.     property Enabled;
  59.     property Font;
  60.     property ImeMode;
  61.     property ImeName;
  62.     property MaxLength;
  63.     property ParentColor;
  64.     property ParentCtl3D;
  65.     property ParentFont;
  66.     property ParentShowHint;
  67.     property PasswordChar;
  68.     property PopupMenu;
  69.     property ReadOnly: Boolean default False;
  70.     property ShowHint;
  71.     property TabOrder;
  72.     property TabStop;
  73.     property Visible;
  74.     property OnChange;
  75.     property OnClick;
  76.     property OnDblClick;
  77.     property OnDragDrop;
  78.     property OnDragOver;
  79.     property OnEndDrag;
  80.     property OnEnter;
  81.     property OnExit;
  82.     property OnKeyDown;
  83.     property OnKeyPress;
  84.     property OnKeyUp;
  85.     property OnMouseDown;
  86.     property OnMouseMove;
  87.     property OnMouseUp;
  88.     property OnStartDrag;
  89.   end;
  90.  
  91. { TDBText }
  92.  
  93.   TDBText = class(TCustomLabel)
  94.   protected
  95.     function GetLabelText: string; override;
  96.     procedure Notification(AComponent: TComponent;
  97.       Operation: TOperation); override;
  98.     procedure SetAutoSize(Value: Boolean); override;
  99.   public
  100.     constructor Create(AOwner: TComponent); override;
  101.     destructor Destroy; override;
  102.     property Field: TField;
  103.   published
  104.     property Align;
  105.     property Alignment;
  106.     property AutoSize default False;
  107.     property Color;
  108.     property DataField: string;
  109.     property DataSource: TDataSource;
  110.     property DragCursor;
  111.     property DragMode;
  112.     property Enabled;
  113.     property Font;
  114.     property ParentColor;
  115.     property ParentFont;
  116.     property ParentShowHint;
  117.     property PopupMenu;
  118.     property Transparent;
  119.     property ShowHint;
  120.     property Visible;
  121.     property WordWrap;
  122.     property OnClick;
  123.     property OnDblClick;
  124.     property OnDragDrop;
  125.     property OnDragOver;
  126.     property OnEndDrag;
  127.     property OnMouseDown;
  128.     property OnMouseMove;
  129.     property OnMouseUp;
  130.     property OnStartDrag;
  131.   end;
  132.  
  133. { TDBCheckBox }
  134.  
  135.   TDBCheckBox = class(TCustomCheckBox)
  136.   protected
  137.     procedure Toggle; override;
  138.     procedure KeyPress(var Key: Char); override;
  139.     procedure Notification(AComponent: TComponent;
  140.       Operation: TOperation); override;
  141.     procedure WndProc(var Message: TMessage); override;
  142.   public
  143.     constructor Create(AOwner: TComponent); override;
  144.     destructor Destroy; override;
  145.     property Checked;
  146.     property Field: TField;
  147.     property State;
  148.   published
  149.     property Alignment;
  150.     property AllowGrayed;
  151.     property Caption;
  152.     property Color;
  153.     property Ctl3D;
  154.     property DataField: string;
  155.     property DataSource: TDataSource;
  156.     property DragCursor;
  157.     property DragMode;
  158.     property Enabled;
  159.     property Font;
  160.     property ParentColor;
  161.     property ParentCtl3D;
  162.     property ParentFont;
  163.     property ParentShowHint;
  164.     property PopupMenu;
  165.     property ReadOnly: Boolean default False;
  166.     property ShowHint;
  167.     property TabOrder;
  168.     property TabStop;
  169.     property ValueChecked: string;
  170.     property ValueUnchecked: string;
  171.     property Visible;
  172.     property OnClick;
  173.     property OnDragDrop;
  174.     property OnDragOver;
  175.     property OnEndDrag;
  176.     property OnEnter;
  177.     property OnExit;
  178.     property OnKeyDown;
  179.     property OnKeyPress;
  180.     property OnKeyUp;
  181.     property OnMouseDown;
  182.     property OnMouseMove;
  183.     property OnMouseUp;
  184.     property OnStartDrag;
  185.   end;
  186.  
  187. { TDBComboBox }
  188.  
  189.   TDBComboBox = class(TCustomComboBox)
  190.   protected
  191.     procedure Change; override;
  192.     procedure Click; override;
  193.     procedure ComboWndProc(var Message: TMessage; ComboWnd: HWnd;
  194.       ComboProc: Pointer); override;
  195.     procedure CreateWnd; override;
  196.     procedure DropDown; override;
  197.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  198.     procedure KeyPress(var Key: Char); override;
  199.     procedure Notification(AComponent: TComponent;
  200.       Operation: TOperation); override;
  201.     procedure SetStyle(Value: TComboboxStyle); override;
  202.     procedure WndProc(var Message: TMessage); override;
  203.   public
  204.     constructor Create(AOwner: TComponent); override;
  205.     destructor Destroy; override;
  206.     property Field: TField;
  207.     property Text;
  208.   published
  209.     property Style; {Must be published before Items}
  210.     property Color;
  211.     property Ctl3D;
  212.     property DataField: string;
  213.     property DataSource: TDataSource;
  214.     property DragMode;
  215.     property DragCursor;
  216.     property DropDownCount;
  217.     property Enabled;
  218.     property Font;
  219.     property ImeMode;
  220.     property ImeName;
  221.     property ItemHeight;
  222.     property Items write SetItems;
  223.     property ParentColor;
  224.     property ParentCtl3D;
  225.     property ParentFont;
  226.     property ParentShowHint;
  227.     property PopupMenu;
  228.     property ReadOnly: Boolean default False;
  229.     property ShowHint;
  230.     property Sorted;
  231.     property TabOrder;
  232.     property TabStop;
  233.     property Visible;
  234.     property OnChange;
  235.     property OnClick;
  236.     property OnDblClick;
  237.     property OnDragDrop;
  238.     property OnDragOver;
  239.     property OnDrawItem;
  240.     property OnDropDown;
  241.     property OnEndDrag;
  242.     property OnEnter;
  243.     property OnExit;
  244.     property OnKeyDown;
  245.     property OnKeyPress;
  246.     property OnKeyUp;
  247.     property OnMeasureItem;
  248.     property OnStartDrag;
  249.   end;
  250.  
  251. { TDBListBox }
  252.  
  253.   TDBListBox = class(TCustomListBox)
  254.   protected
  255.     procedure Click; override;
  256.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  257.     procedure KeyPress(var Key: Char); override;
  258.     procedure Notification(AComponent: TComponent;
  259.       Operation: TOperation); override;
  260.   public
  261.     constructor Create(AOwner: TComponent); override;
  262.     destructor Destroy; override;
  263.     property Field: TField;
  264.   published
  265.     property Align;
  266.     property BorderStyle;
  267.     property Color;
  268.     property Ctl3D default True;
  269.     property DataField: string;
  270.     property DataSource: TDataSource;
  271.     property DragCursor;
  272.     property DragMode;
  273.     property Enabled;
  274.     property Font;
  275.     property ImeMode;
  276.     property ImeName;
  277.     property IntegralHeight;
  278.     property ItemHeight;
  279.     property Items write SetItems;
  280.     property ParentColor;
  281.     property ParentCtl3D;
  282.     property ParentFont;
  283.     property ParentShowHint;
  284.     property PopupMenu;
  285.     property ReadOnly: Boolean default False;
  286.     property ShowHint;
  287.     property Style;
  288.     property TabOrder;
  289.     property TabStop;
  290.     property Visible;
  291.     property OnClick;
  292.     property OnDblClick;
  293.     property OnDragDrop;
  294.     property OnDragOver;
  295.     property OnDrawItem;
  296.     property OnEndDrag;
  297.     property OnEnter;
  298.     property OnExit;
  299.     property OnKeyDown;
  300.     property OnKeyPress;
  301.     property OnKeyUp;
  302.     property OnMeasureItem;
  303.     property OnMouseDown;
  304.     property OnMouseMove;
  305.     property OnMouseUp;
  306.     property OnStartDrag;
  307.   end;
  308.  
  309. { TDBRadioGroup }
  310.  
  311.   TDBRadioGroup = class(TCustomRadioGroup)
  312.   protected
  313.     procedure Change; dynamic;
  314.     procedure Click; override;
  315.     procedure KeyPress(var Key: Char); override;
  316.     function CanModify: Boolean; override;
  317.     procedure Notification(AComponent: TComponent;
  318.       Operation: TOperation); override;
  319.     property DataLink: TFieldDataLink;
  320.   public
  321.     constructor Create(AOwner: TComponent); override;
  322.     destructor Destroy; override;
  323.     property Field: TField;
  324.     property ItemIndex;
  325.     property Value: string;
  326.   published
  327.     property Align;
  328.     property Caption;
  329.     property Color;
  330.     property Columns;
  331.     property Ctl3D;
  332.     property DataField: string;
  333.     property DataSource: TDataSource;
  334.     property DragCursor;
  335.     property DragMode;
  336.     property Enabled;
  337.     property Font;
  338.     property Items write SetItems;
  339.     property ParentColor;
  340.     property ParentCtl3D;
  341.     property ParentFont;
  342.     property ParentShowHint;
  343.     property PopupMenu;
  344.     property ReadOnly: Boolean default False;
  345.     property ShowHint;
  346.     property TabOrder;
  347.     property TabStop;
  348.     property Values: TStrings;
  349.     property Visible;
  350.     property OnChange: TNotifyEvent;
  351.     property OnClick;
  352.     property OnDragDrop;
  353.     property OnDragOver;
  354.     property OnEndDrag;
  355.     property OnEnter;
  356.     property OnExit;
  357.     property OnStartDrag;
  358.   end;
  359.  
  360. { TDBMemo }
  361.  
  362.   TDBMemo = class(TCustomMemo)
  363.   protected
  364.     procedure Change; override;
  365.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  366.     procedure KeyPress(var Key: Char); override;
  367.     procedure Notification(AComponent: TComponent;
  368.       Operation: TOperation); override;
  369.     procedure WndProc(var Message: TMessage); override;
  370.   public
  371.     constructor Create(AOwner: TComponent); override;
  372.     destructor Destroy; override;
  373.     procedure LoadMemo;
  374.     property Field: TField;
  375.   published
  376.     property Align;
  377.     property Alignment;
  378.     property AutoDisplay: Boolean default True;
  379.     property BorderStyle;
  380.     property Color;
  381.     property Ctl3D;
  382.     property DataField: string;
  383.     property DataSource: TDataSource;
  384.     property DragCursor;
  385.     property DragMode;
  386.     property Enabled;
  387.     property Font;
  388.     property ImeMode;
  389.     property ImeName;
  390.     property MaxLength;
  391.     property ParentColor;
  392.     property ParentCtl3D;
  393.     property ParentFont;
  394.     property ParentShowHint;
  395.     property PopupMenu;
  396.     property ReadOnly: Boolean default False;
  397.     property ScrollBars;
  398.     property ShowHint;
  399.     property TabOrder;
  400.     property TabStop;
  401.     property Visible;
  402.     property WantTabs;
  403.     property WordWrap;
  404.     property OnChange;
  405.     property OnClick;
  406.     property OnDblClick;
  407.     property OnDragDrop;
  408.     property OnDragOver;
  409.     property OnEndDrag;
  410.     property OnEnter;
  411.     property OnExit;
  412.     property OnKeyDown;
  413.     property OnKeyPress;
  414.     property OnKeyUp;
  415.     property OnMouseDown;
  416.     property OnMouseMove;
  417.     property OnMouseUp;
  418.     property OnStartDrag;
  419.   end;
  420.  
  421. { TDBImage }
  422.  
  423.   TDBImage = class(TCustomControl)
  424.   protected
  425.     procedure CreateParams(var Params: TCreateParams); override;
  426.     function GetPalette: HPALETTE; override;
  427.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  428.     procedure KeyPress(var Key: Char); override;
  429.     procedure Notification(AComponent: TComponent;
  430.       Operation: TOperation); override;
  431.     procedure Paint; override;
  432.   public
  433.     constructor Create(AOwner: TComponent); override;
  434.     destructor Destroy; override;
  435.     procedure CopyToClipboard;
  436.     procedure CutToClipboard;
  437.     procedure LoadPicture;
  438.     procedure PasteFromClipboard;
  439.     property Field: TField;
  440.     property Picture: TPicture;
  441.   published
  442.     property Align;
  443.     property AutoDisplay: Boolean default True;
  444.     property BorderStyle: TBorderStyle default bsSingle;
  445.     property Center: Boolean default True;
  446.     property Color;
  447.     property Ctl3D;
  448.     property DataField: string;
  449.     property DataSource: TDataSource;
  450.     property DragCursor;
  451.     property DragMode;
  452.     property Enabled;
  453.     property Font;
  454.     property ParentColor default False;
  455.     property ParentCtl3D;
  456.     property ParentFont;
  457.     property ParentShowHint;
  458.     property PopupMenu;
  459.     property ReadOnly: Boolean default False;
  460.     property QuickDraw: Boolean default True;
  461.     property ShowHint;
  462.     property Stretch: Boolean default False;
  463.     property TabOrder;
  464.     property TabStop default True;
  465.     property Visible;
  466.     property OnClick;
  467.     property OnDblClick;
  468.     property OnDragDrop;
  469.     property OnDragOver;
  470.     property OnEndDrag;
  471.     property OnEnter;
  472.     property OnExit;
  473.     property OnKeyDown;
  474.     property OnKeyPress;
  475.     property OnKeyUp;
  476.     property OnMouseDown;
  477.     property OnMouseMove;
  478.     property OnMouseUp;
  479.     property OnStartDrag;
  480.   end;
  481.  
  482. const
  483.   InitRepeatPause = 400;  { pause before repeat timer (ms) }
  484.   RepeatPause     = 100;  { pause before hint window displays (ms)}
  485.   SpaceSize       =  5;   { size of space between special buttons }
  486.  
  487. type
  488.   TNavButton = class;
  489.   TNavDataLink = class;
  490.  
  491.   TNavGlyph = (ngEnabled, ngDisabled);
  492.   TNavigateBtn = (nbFirst, nbPrior, nbNext, nbLast,
  493.                   nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh);
  494.   TButtonSet = set of TNavigateBtn;
  495.   TNavButtonStyle = set of (nsAllowTimer, nsFocusRect);
  496.  
  497.   ENavClick = procedure (Sender: TObject; Button: TNavigateBtn) of object;
  498.  
  499. { TDBNavigator }
  500.  
  501.   TDBNavigator = class (TCustomPanel)
  502.   protected
  503.     Buttons: array[TNavigateBtn] of TNavButton;
  504.     procedure DataChanged;
  505.     procedure EditingChanged;
  506.     procedure ActiveChanged;
  507.     procedure Loaded; override;
  508.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  509.     procedure Notification(AComponent: TComponent;
  510.       Operation: TOperation); override;
  511.     procedure GetChildren(Proc: TGetChildProc); override;
  512.   public
  513.     constructor Create(AOwner: TComponent); override;
  514.     destructor Destroy; override;
  515.     procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
  516.     procedure BtnClick(Index: TNavigateBtn);
  517.   published
  518.     property DataSource: TDataSource;
  519.     property VisibleButtons: TButtonSet default [nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh];
  520.     property Align;
  521.     property DragCursor;
  522.     property DragMode;
  523.     property Enabled;
  524.     property Ctl3D;
  525.     property Hints: TStrings;
  526.     property ParentCtl3D;
  527.     property ParentShowHint;
  528.     property PopupMenu;
  529.     property ConfirmDelete: Boolean default True;
  530.     property ShowHint;
  531.     property TabOrder;
  532.     property TabStop;
  533.     property Visible;
  534.     property OnClick: ENavClick;
  535.     property OnDblClick;
  536.     property OnDragDrop;
  537.     property OnDragOver;
  538.     property OnEndDrag;
  539.     property OnEnter;
  540.     property OnExit;
  541.     property OnResize;
  542.     property OnStartDrag;
  543.   end;
  544.  
  545. { TNavButton }
  546.  
  547.   TNavButton = class(TSpeedButton)
  548.   protected
  549.     procedure Paint; override;
  550.     procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
  551.       X, Y: Integer); override;
  552.     procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
  553.       X, Y: Integer); override;
  554.   public
  555.     destructor Destroy; override;
  556.     property NavStyle: TNavButtonStyle;
  557.     property Index : TNavigateBtn;
  558.   end;
  559.  
  560. { TNavDataLink }
  561.  
  562.   TNavDataLink = class(TDataLink)
  563.   protected
  564.     procedure EditingChanged; override;
  565.     procedure DataSetChanged; override;
  566.     procedure ActiveChanged; override;
  567.   public
  568.     constructor Create(ANav: TDBNavigator);
  569.     destructor Destroy; override;
  570.   end;
  571.  
  572. { TDBLookupControl }
  573.  
  574.   TDBLookupControl = class;
  575.  
  576.   TDataSourceLink = class(TDataLink)
  577.   protected
  578.     procedure ActiveChanged; override;
  579.     procedure RecordChanged(Field: TField); override;
  580.   end;
  581.  
  582.   TListSourceLink = class(TDataLink)
  583.   protected
  584.     procedure ActiveChanged; override;
  585.     procedure DataSetChanged; override;
  586.   end;
  587.  
  588.   TDBLookupControl = class(TCustomControl)
  589.   protected
  590.     procedure Notification(AComponent: TComponent;
  591.       Operation: TOperation); override;
  592.     property DataField: string;
  593.     property DataSource: TDataSource;
  594.     property KeyField: string;
  595.     property KeyValue: Variant;
  596.     property ListField: string;
  597.     property ListFieldIndex: Integer default 0;
  598.     property ListSource: TDataSource;
  599.     property ParentColor default False;
  600.     property ReadOnly: Boolean default False;
  601.     property TabStop default True;
  602.   public
  603.     constructor Create(AOwner: TComponent); override;
  604.     destructor Destroy; override;
  605.   end;
  606.  
  607. { TDBLookupListBox }
  608.  
  609.   TDBLookupListBox = class(TDBLookupControl)
  610.   protected
  611.     procedure CreateParams(var Params: TCreateParams); override;
  612.     procedure CreateWnd; override;
  613.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  614.     procedure KeyPress(var Key: Char); override;
  615.     procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
  616.       X, Y: Integer); override;
  617.     procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
  618.     procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
  619.       X, Y: Integer); override;
  620.     procedure Paint; override;
  621.     procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
  622.   public
  623.     constructor Create(AOwner: TComponent); override;
  624.     property KeyValue;
  625.   published
  626.     property Align;
  627.     property BorderStyle: TBorderStyle default bsSingle;
  628.     property Color;
  629.     property Ctl3D;
  630.     property DataField;
  631.     property DataSource;
  632.     property DragCursor;
  633.     property DragMode;
  634.     property Enabled;
  635.     property Font;
  636.     property ImeMode;
  637.     property ImeName;
  638.     property KeyField;
  639.     property ListField;
  640.     property ListFieldIndex;
  641.     property ListSource;
  642.     property ParentColor;
  643.     property ParentCtl3D;
  644.     property ParentFont;
  645.     property ParentShowHint;
  646.     property PopupMenu;
  647.     property ReadOnly;
  648.     property RowCount: Integer;
  649.     property ShowHint;
  650.     property TabOrder;
  651.     property TabStop;
  652.     property Visible;
  653.     property OnClick;
  654.     property OnDblClick;
  655.     property OnDragDrop;
  656.     property OnDragOver;
  657.     property OnEndDrag;
  658.     property OnEnter;
  659.     property OnExit;
  660.     property OnKeyDown;
  661.     property OnKeyPress;
  662.     property OnKeyUp;
  663.     property OnMouseDown;
  664.     property OnMouseMove;
  665.     property OnMouseUp;
  666.     property OnStartDrag;
  667.   end;
  668.  
  669. { TDBLookupComboBox }
  670.  
  671.   TPopupDataList = class(TDBLookupListBox)
  672.   protected
  673.     procedure CreateParams(var Params: TCreateParams); override;
  674.   public
  675.     constructor Create(AOwner: TComponent); override;
  676.   end;
  677.  
  678.   TDropDownAlign = (daLeft, daRight, daCenter);
  679.  
  680.   TDBLookupComboBox = class(TDBLookupControl)
  681.   protected
  682.     procedure CreateParams(var Params: TCreateParams); override;
  683.     procedure Paint; override;
  684.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  685.     procedure KeyPress(var Key: Char); override;
  686.     procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
  687.       X, Y: Integer); override;
  688.     procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
  689.     procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
  690.       X, Y: Integer); override;
  691.     procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
  692.   public
  693.     constructor Create(AOwner: TComponent); override;
  694.     procedure CloseUp(Accept: Boolean);
  695.     procedure DropDown;
  696.     property KeyValue;
  697.     property ListVisible: Boolean;
  698.     property Text: string;
  699.   published
  700.     property Color;
  701.     property Ctl3D;
  702.     property DataField;
  703.     property DataSource;
  704.     property DragCursor;
  705.     property DragMode;
  706.     property DropDownAlign: TDropDownAlign default daLeft;
  707.     property DropDownRows: Integer default 7;
  708.     property DropDownWidth: Integer default 0;
  709.     property Enabled;
  710.     property Font;
  711.     property ImeMode;
  712.     property ImeName;
  713.     property KeyField;
  714.     property ListField;
  715.     property ListFieldIndex;
  716.     property ListSource;
  717.     property ParentColor;
  718.     property ParentCtl3D;
  719.     property ParentFont;
  720.     property ParentShowHint;
  721.     property PopupMenu;
  722.     property ReadOnly;
  723.     property ShowHint;
  724.     property TabOrder;
  725.     property TabStop;
  726.     property Visible;
  727.     property OnClick;
  728.     property OnCloseUp: TNotifyEvent;
  729.     property OnDragDrop;
  730.     property OnDragOver;
  731.     property OnDropDown: TNotifyEvent;
  732.     property OnEndDrag;
  733.     property OnEnter;
  734.     property OnExit;
  735.     property OnKeyDown;
  736.     property OnKeyPress;
  737.     property OnKeyUp;
  738.     property OnMouseDown;
  739.     property OnMouseMove;
  740.     property OnMouseUp;
  741.     property OnStartDrag;
  742.   end;
  743.  
  744. implementation
  745.